Orthogonal transforms as Fourier transform, discrete cosine transform (DCT), and discrete sine transform (DST) are widely used in digital signal processing, especially in spectrum analysis, image coding and speech coding.
A DCT is a spatial transform and has a strong energy compaction property so that a DCT-based coding system provides good compression performance.
A modified discrete cosine transform (MDCT) is a DCT-based improvement. The MDCT is designed to avoid blocking effect between consecutive blocks. It plays a vital role in wideband and super wideband digital audio coding.
A direct application of the forward MDCT and inverse MDCT according to the transform formula causes high complexity of computation. Especially, an MDCT on a large number of points cannot be performed in real time due to the high complexity of computation. Because of the wide application of the MDCT in real-time communications and especially in audio coding, a fast MDCT method becomes an urgent need.
The widely used FFT-based fast MDCT of N points includes the fast MDCT based on an N/2-point FFT and the fast MDCT based on an N/4-point FFT.
In the research and practice of the prior art, the following weaknesses are found:
In the application of a fast MDCT algorithm based on an N/4-point FFT, pre- and post-rotation processing requires the storing of at least cosine values of N/4 points and sine values of N/4 points, altogether N/2 values. When pre- and post-rotation steps are asymmetrical, N values need to be stored. In the case of a large N, the amount of additional storage is large, and therefore a lot of storage resources are consumed, and the transform efficiency is affected.
When a fast Fourier transform algorithm based on coprime factor is adopted, a lot of addressing operations are required and the algorithm does not take into account sequential access of the data sequence. The data obtained through a transform needs to be rearranged to obtain the final output data. Thus, the amount of computation is larger.